Learning from time-varying data streams under concept drift